BOSS

A "one-click" program for users that quickly optimises and avoids detrimental conflicts in their TES IV: Oblivion, Nehrim - At Fate's Edge, TES V: Skyrim, Fallout 3 and Fallout: New Vegas mod load orders.

Contents

  1. Features & Introduction
  2. Installation & Basic Usage
  3. Uninstallation
  4. General Usage
    1. The Graphical User Interface
    2. Keeping BOSS Up-To-Date
    3. The BOSS Log
    4. Dirty Edits, Mod Cleaning & CRCs
    5. False-Flagged Plugins
  5. Contributions & Help
  6. Further Details
    1. User Rules
    2. The BOSS.ini
    3. Command Line Arguments
    4. Updating Under Special Circumstances
    5. Running BOSS Under Linux
    6. BOSS Changes and Files
  7. Troubleshooting
    1. General Problems
    2. File Permissions
    3. International Character Support
    4. Error Messages
  8. Credits
  9. Project Members
  10. License
  11. Quick Links
  12. Version History

Features & Introduction

BOSS will re-order your mod plugins to their correct positions, putting any mods it doesn't recognise after them, in the same order as they were before BOSS was run.

BOSS is designed to assist in the usage of mods, helping mod users avoid serious conflicts. It is not a complete solution to load ordering issues, as there are far more mods out there than BOSS knows about. To properly place mods BOSS doesn't know about, a good working knowledge of mod load ordering for the relevant game is still necessary, for which some research and documentation reading will go a long way.

Installation & Basic Usage

Note that BOSS does not support Windows 2000 or earlier.

BOSS can be installed for use with TES IV: Oblivion, TES V: Skyrim, Fallout 3, Fallout: New Vegas and Nehrim - At Fate's Edge (a Total Conversion mod for Oblivion). Installation may either be automated, using the BOSS Installer package, or manually, using the archive package. Either method is simple, and instructions for manual installation are given below.

  1. If upgrading from an earlier version of BOSS, delete all BOSS files and folders in all supported games' Data folders. Also delete any of the following from your BOSS folder(s) (but not from any folders within your BOSS folders): BOSSlog.txt; BOSSlog.html; masterlist.txt; modlist.txt; modlist.old.
  2. Within the archive you downloaded there is a BOSS folder. Extract this folder to a location of your choice. Make sure that you have the appropriate file permissions for the directory you choose. See the File Permissions section for more information.
  3. If any of the Wrye *ash utilities are installed, make sure their BOSS Disable Lock Load Order* setting is enabled.
  4. In the BOSS folder, run BOSS.exe. This will download the latest masterlist from the Internet and then sort your mods.

Once BOSS has finished running, the output will be displayed automatically. Read any notes, errors if applicable, and make any relevant changes that are suggested by them. The Wrye *ash utilities will automatically import and apply Bash Tag suggestions from BOSS. Some Bash Tag suggestions can come with conditions and notes that require human intervention though, so read the suggestions makes thoroughly and adjust tags by hand in Wrye *ash if necessary.

Unrecognised mods must be re-ordered by hand using OBMM/FOMM or Wrye *ash.

Uninstallation

If BOSS was installed using the installer, then use the uninstaller it provides a link to in the Start Menu to uninstall BOSS. If BOSS was installed manually, do the following:

  1. Delete the BOSS folder in the location you installed it to. If you installed BOSS to more than one location, delete each BOSS folder for each install of BOSS you wish to remove.

General Usage

This section gives more information on the parts of BOSS's functionality that users are likely to come into contact with during the course of general usage of BOSS. It gives details on the capabilities of the GUI, information on how to keep BOSS up to date, information on the BOSS Log and its constituent parts, and provides some background information and BOSS-specific notes on the subject of dirty edits and mod cleaning.

The Graphical User Interface

While the CLI provided by BOSS.exe offers the simplest way to run BOSS using just one click, the GUI provided by BOSS GUI.exe provides a way of accessing BOSS's options, settings and more powerful features without having to edit any other files manually. The CLI and GUI both possess the same core functionality, but differ in how they approach providing it, with the CLI being text-based and the GUI using graphical elements such as buttons, checkboxes and drop-down lists.

The GUI is composed of three major windows: the Main window, which is the one displayed when the GUI is run; the Settings window; and the User Rules Editor window. Their content shall be explained in turn.

When the GUI is run, it first attempts to detect which supported games are installed. If BOSS is installed locally to any supported game, the GUI will immediately load up the Main window. Otherwise, it will display a selection dialog so that the user may select which game it should run for. In this dialog, games that are not detected are labelled as such, and choosing one such game will cause the GUI to run in a limited mode, only allowing masterlist updating. See Updating Under Special Circumstances for when this may be useful. If a detected game is chosen, the GUI will run normally. Cancelling the selection dialog will cause the GUI to quit.

The Main Window

main window
The BOSS GUI's main window, containing the most commonly used options.

The title bar of the main window displays which game BOSS is running for: this may also be checked by seeing which game is selected in the Active Game menu.

The menu bar holds four menus: File, Edit, Active Game and Help. The File menu just contains commands for opening the BOSS Log, running BOSS and quitting. The Edit menu contains a command for editing user rules, which works the same as the Edit User Rules button, and a command for opening the settings window. The Help menu contains links to BOSS's documentation and copyright licenses, and commands to view the About dialog and to check for updates to the BOSS program (see the Keeping BOSS Up-To-Date section for details).

The Active Game menu allows you to change which game BOSS is running for without closing and re-opening the GUI. Games that BOSS does not detect as being installed are greyed out. The active game is marked with a dot next to it. To change the active game, simply select another game in the list. Setting the run type to Update Masterlist Only will un-grey all the games, allowing any of them to be selected, while changing from Update Masterlist Only to another run type will grey out undetected games again. If an undetected game is active when you change run type, BOSS will automatically switch to the first detected game in the list.

The output options on the left of the window tweak settings related to the BOSS Log. When the Display File CRCs option is enabled, the BOSS Log displays the CRCs of all the plugins in the Data folder, and of OBSE/FOSE/NVSE/SKSE and its installed plugins if present. The BOSS Log Format option decides both what format of BOSS Log is generated when BOSS is run and what format of BOSS Log the GUI opens when the View BOSS Log button or File→View BOSS Log menu item is selected. Display Plugin Versions and Show BOSS Log On Completion do exactly as they say on the tin.

The run options on the right of the main window decide how BOSS runs. BOSS has three main modes of operation that are mutually exclusive to one another: it can either sort your plugins, only update your masterlist then quit or undo its changes to your load order. When Update Masterlist is enabled, BOSS will update your masterlist before sorting your plugins. When Perform Trial Run is enabled, BOSS simulates its changes to your load order without actually reordering your mods. The Undo Level option allows you to select how many runs of BOSS are to be undone.

The Edit User Rules button opens your userlist for editing. If the Use User Rules Editor setting in the Settings window is enabled, clicking the button will open the User Rules Editor window, otherwise it will open your userlist in your default text editor. The Run BOSS button runs BOSS's main sorting/updating/undoing functionality according to the options selected. The View BOSS Log button does exactly what it says on the tin, opening the BOSS Log in the format selected in the Output Options section.

The Settings Window

settings window tab 1 settings window tab 2 settings window tab 3 settings window tab 4 settings window tab 5
The 5 tabs of the GUI's settings window, containing the various settings not displayed in the main window (animated slideshow).

BOSS has a large number of settings, only a few of which can be displayed in the main window. As such, the less commonly used settings are found in the Settings window, which can be accessed by clicking Edit→Settings... in the main window's menu bar. The settings are grouped into tabs depending on what area of BOSS's behaviour they control. The settings are detailed in the table below.

TabSettingDescription
GeneralCheck for BOSS updates on startupControls whether or not BOSS checks for program (not masterlist) updates automatically when it starts up.
Use User Rules EditorControls whether the GUI uses the User Rules Editor window to edit user rules or whether it opens the userlist.txt for manual editing.
Default GameIf set to something other than Autodetect, this overrides game autodetection. If the game specified is not detected, BOSS falls back to autodetection, unless BOSS is run with the Masterlist Update Only option selected, in which case BOSS will run successfully whether or not the game is installed.
InternetProxy HostnameIf you use a proxy to connect to the Internet, specify its hostname here.
Proxy Port NumberIf you use a proxy to connect to the Internet, specify its port number here.
Proxy UsernameIf you use a proxy that requires authentication to connect to the Internet, specify your username here.
Proxy PasswordIf you use a proxy that requires authentication to connect to the Internet, specify your password here.
DebuggingDebug Outout VerbosityThe verbosity of the debug output. As values increase, so does verbosity, 'Standard (0)' displays only warning and error messages.
Include Source Code ReferencesAdd source code references to the debug output.
Log Debug OutputSave the debug output to a BOSSDebugLog.txt text file.
BOSS Log FiltersManyThese settings control the default states of the BOSS Log filters. If a setting's box is checked, then the filter of the same name in the BOSS Log will be enabled when the BOSS Log is opened. See the The BOSS Log section below for what each filter does.
BOSS Log CSSManyThese settings control the BOSS Log's CSS styles, used to provide the formatting for the BOSS Log. A knowledge of CSS is expected if you wish to alter these settings. If you do not possess such knowledge, altering these settings is not recommended. The CSS selectors are given on the left, and their styling can be edited in the corresponding text boxes on the right. Curly brackets should be omitted.

Each setting in the GUI corresponds to a command line parameter and/or an ini setting, the details of which can be found in the Command Line Arguments and Customising How BOSS Works sections of this ReadMe respectively.

The User Rules Editor

user rules editor window
The User Rules Editor, a graphical interface for managing your user rules.

The User Rules Editor can be used instead of editing your userlist.txt directly. The information contained within the BOSS User Rules ReadMe document is still required to understand user rules. The editor comprises of the following elements:

To save your changes to your userlist and exit, use the Save button. To exit without saving, use the Cancel button.

Plugins and groups may be added to the text boxes in the Rule Creator by dragging and dropping them from the Installed Mods and Masterlist lists on the right of the window. Dropping a plugin or group into a text box currently containing a plugin or group will cause the existing text to be replaced.

The User Rules Editor ignores all silent comments in your userlist.txt, and will strip them from the file if you choose to save your user rules via the editor.

Keeping BOSS Up-To-Date

It is important that you keep your BOSS installation updated, not only to benefit from the many frequent updates made to the masterlists, but also to benefit from bug fixes, improvements and new features introduced to new releases of BOSS itself.

Providing there is an Internet connection available when BOSS runs, it will automatically download and apply any updates available for the masterlist of the game it is running for by default. BOSS will also check for new releases and if an update is available it will notify the user, displaying release notes if any are available. Additionally, if you installed BOSS using the automated installer, BOSS will ask the user if they wish to update, and automatically download and run the updated version's installer if so. The check for new releases functionality behaves as outlined below:

  1. On launching, it automatically checks for updates to BOSS. If an update is found, it proceeds to the next step. If no update is available, or no Internet connection is present, it will display no message.
  2. No matter how the update check was started, if an update is available it will notify the user, asking whether or not to download and install the update if BOSS was installed using the automated installer. If the user decides not to update, the updater will quit.
  3. If the user decides to update, then it will begin downloading the new installer to the BOSS folder, displaying the progress. If using the GUI, the download can be cancelled at any time, in which case any downloaded file will be deleted and the updater will quit. CLI users can cancel the download by quitting BOSS, but no cleanup will take place.

Under certain circumstances the masterlist and program updaters may be unable to function correctly. If you have issues using them, see the Updating Under Special Circumstances section for alternative methods.

BOSS program updates are also published at the TES Nexus, Skyrim Nexus, Fallout 3 Nexus and New Vegas Nexus BOSS pages. For those not using the masterlist updater, the latest masterlist is always on the Google Code repository.

Always make sure to use the latest version of BOSS and the latest masterlist.

The BOSS Log

The BOSS Log is where you will find all of BOSS's outputted information. It can be generated in either HTML format (the default) or as a plain text file with minimal formatting. The HTML format has significant advantages over the plain text format, being considerably easier to read, containing colour-coded messages and a variety of filters to customise what is displayed. However, other than the HTML BOSS Log providing a notification if there has been no change in the recognised mod list since last run, there is no difference in information provided between the two formats.

The HTML BOSS Log has been tested in Mozilla Firefox 10, Google Chrome 17, Opera 11 and Internet Explorer 9. Using earlier browsers may result in parts of the BOSS Log not working or displaying correctly.

The BOSS Log comprises of a number of sections, which are detailed in the table below.

BOSS Log SectionDescription
General MessagesThis section is only displayed if there are any applicable messages to be displayed. Its primary purpose is to allow BOSS to display messages specific to your Oblivion install that are not specific to any one mod. Parser and updater error messages are also displayed in this section.
SummaryThis section gives a short summary of BOSS's actions. It breaks down the numbers of plugins installed and messages attached to them and gives the local masterlist version and whether or not it was updated. If the BOSS Log is in the HTML format it will also display a message if your recognised plugin list has not changed since you last ran BOSS.
Userlist MessagesThis section is only displayed if BOSS finds any user rules in your userlist. It details the successes or failures of the application of your userlist rules.
Script Extender And Script Extender PluginsThis section is displayed if you have your game's Script Extender installed. It will list the Script Extender and any plugins for it that you have installed, displaying their versions (if given) and their CRCs (if run with Display File CRCs enabled).
Recognised And Re-ordered PluginsThis section comprises the bulk of BOSS's output, listing all your recognised installed plugins and any messages BOSS has attached to them, as well as version information (if given) and the plugin CRCs (if run with Display File CRCs enabled).
Restored Load OrderThis section is only displayed when BOSS is run to undo its changes, and lists your restored load order.
Unrecognised PluginsThis section is only displayed if you have plugins installed that are unrecognised by BOSS, and lists them. These plugins should be reported in an official BOSS thread with download links to their mods so they can be added to the relevant masterlist.

BOSS will display the version numbers of any plugins that provide them in their description fields. If a plugin supplies no version number, it cannot be displayed. The version numbers may not reflect the actual version of the mod installed - this could either be due to the mod author forgetting to update the description, or due to a mistake in BOSS's detection. As version numbers are supplied by mod authors in a wide range of formats and BOSS has to detect as many as possible, it occasionally identifies parts of some descriptions as version numbers incorrectly. This is largely unavoidable, but any discrepancies should be reported to the BOSS team in case they can be fixed. When in doubt, check the version number given in a mod's readme.

It should be noted that the vast majority of BOSS's mod messages are non-conditional, in that they are not displayed in response to your specific install. For example, a message that gives some of the mod's incompatibilities does not know if you have them installed or not, and a message telling you to do something will not know if it has been done.

BOSS's mod messages are one of the most important features BOSS provides, acting as a means of providing users with information that they might otherwise not obtain. It is important for a stable, healthy game that you act on any messages that require action. If you think a message suggests an action that is not necessary, report it to an official BOSS thread.

The HTML BOSS Log includes a few features and a number of filters to customise what is displayed. The majority of these are found in the shaded box near the top of the BOSS Log, and are enabled and disabled via their checkboxes:

BOSS Log FilterDescription
Use Dark Colour SchemeChanges the BOSS Log's colour scheme to a darker variety, more suitable for reading in low light levels and putting less strain on the eyes. Users with vision impairments may find the darker colour scheme easier to read.
Hide Rule WarningsHides any warning messages printed in the Userlist Messages section of the BOSS Log.
Hide Version NumbersHides the version numbers printed in blue next to those mods that provide them.
Hide 'Ghosted' LabelHides the 'Ghosted' label printed in grey next to any mods ghosted by Wrye Bash.
Hide 'Active' LabelHides the 'Active' label printed in green next to any active mods.
Hide ChecksumsHides the checksums of mods and Script Extender plugins printed in brown next to their names.
Hide Inactive ModsHides any mods that are not active.
Hide Messageless ModsHides any recognised mods that do not have messages attached to them.
Hide Ghosted ModsHides any mods that have been ghosted by Wrye Bash.
Hide Clean ModsHides any mods in your load order that don't have messages beginning Contains dirty edits: attached. Note that this doesn't mean the mods hidden are definitely clean, only that BOSS doesn't know they're dirty.
Hide All Mod NessagesHides all messages attached to mods.
Hide NotesHides any messages attached to mods that have the Note: prefix.
Hide Bash Tag SuggestionsHides any Bash Tag suggestions attached to mods.
Hide RequirementsHides any messages attached to mods that have the Requires: prefix.
Hide IncompatibilitiesHides any messages attached to mods that have the Incompatible with: prefix.
Hide 'Do Not Clean' MessagesHides any messages attached to mods that begin with Contains dirty edits: Do not clean..

The number of plugins and messages hidden at any one time are displayed below the filters box in italics. In addition to the above filters, clicking on a section's title will collapse that section, hiding its contents. Clicking the title again will expand the section, making its contents visible again.

It is not possible to hide mod warning or error messages, as these are of a severity where they should almost certainly be acted upon, and not ignored. Be aware that if you hide all a mod's messages and then hide all messageless mods, that mod will be amongst those hidden.

Dirty Edits, Mod Cleaning & CRCs

Dirty edits are often a side-effect of mod creation, and are often due to bugs in the utilities Bethesda has provided to create mods, rather than bad practice by mod authors. Dirty edits can cause a wide range of issues, including incorrect game settings, missing content, broken quests and crashing to desktop. The more dirty edits there are, and the more mods with dirty edits you use, the more likely you are to experience issues.

Thankfully there is a way to remove dirty edits from mods relatively easily, a process known as mod cleaning, using TES4Edit (for Oblivion), FO3Edit (for Fallout 3), FNVEdit (for Fallout: New Vegas) or TES5Edit (for Skyrim). A detailed set of instructions and information on mod cleaning can be found on the CS Wiki's TES4Edit Cleaning Guide (the page also applies to Fallout 3 Fallout: New Vegas and Skyrim). Wrye *ash can also scan plugins for dirty edits and return their ITM and UDR counts, though at the time of writing it cannot clean plugins itself.

The problem of dirty edits is largely a problem of ignorance on the part of mod authors and users alike of the problems unclean mods (more widely known as dirty mods) can cause. As such, there are community efforts to raise awareness of dirty edits and cleaning. BOSS plays a key role in these efforts, as it holds the complete list of all known dirty mods, and it uses this information to provide notification messages to users for any dirty mods they have installed. There are three key pieces of information that are used to accurately describe and identify an unclean mod. They are:

However, not all unclean mods have all or any of these pieces of information. For unclean mods whose ITM and UDR counts have not been reported, BOSS cannot give them. For unclean mods whose CRCs have not been reported, BOSS cannot give precise notification and so prints a message whether or not the user has cleaned their mod.

BOSS and the modding communities rely on user contribution of this information to progress. For information on how to contribute, see the Contributions & Help section below. If you find that a mod is dirty, you should also report this to the mod's author so that they can fix it.

Note: TES4Edit et al. will include a variety of junk records in the ITM count for a plugin, such as new empty cells that are automatically generated by the Construction Set and are almost impossible to remove. These junk records are non-harmful, and BOSS will inform users when a mod contains these to avoid confusion. This is also the source of any discrepancies between the counts produced by TES4Edit and those produced by Wrye *ash. The latter's counts are more technically accurate, but both are acceptable for use.

There is also another type of unnecessary edit, known as a wild edit, that can also cause problems. These edits are neither Identical To Master edits nor deleted records, so cannot be automatically cleaned. Cleaning must be manually done in TES4Edit/FO3Edit/FNVEdit. BOSS can still check for plugins with these edits if the CRCs of the plugins with wild edits are known, and it can provide notification of these edits and some information on fixing them if they are reported in an official BOSS thread.

False-Flagged Plugins

Whether a mod plugin is a master file or a non-master file is dependent not on its file extension (.esp, .esm), but is instead decided by the value of a setting inside the plugin file, known as its master bit flag. Master files have this set to 1, and non-master files have it set to 0. However, because ESM is an acronym for Elder Scrolls Master, and ESP is an acronym for Elder Scrolls Plugin (even for Fallout 3 and Fallout: New Vegas), most people assume that master plugins are files with .esm extensions, while non-master plugins are files with .esp extensions.

This assumption is valid for the most part, as the vast majority of masters are .esm files, and the vast majority of plugins are .esp files. However, sometimes this is not the case. When a plugin has a .esm extension but has a master bit flag value of 0, or has an extension of .esp and a master bit flag value of 1, the plugin is said to be false-flagged, as its extension does not match its master bit flag value. False-flagged plugins are most common in Fallout 3 due to the use of FO3Edit's Master Update feature, which turns non-master plugins into false-flagged plugins, to avoid bugs that only manifest for non-master plugins.

The distinction between masters and non-masters is important for load order because the game will always load all masters before all non-masters, regardless of whether they are listed or dated (depending on your game) as such by the mechanism used to determine load order. Earlier versions of BOSS, and most if not all mod managers, put all .esm files before all .esp files, but failed to take into account the value of the master bit flag of plugins. As such, the load order they displayed was incorrect, as it failed to take into account the game always loading masters before plugins.

Since the master bit flag can be changed by users, it is not sufficient to update the masterlists to take into account the values of plugin master bit flags in the plugins available for download, as the user may have changed the master bit flag values (eg. using FO3Edit's Master Update). As such, BOSS instead checks that the masterlist used is ordering masters before non-masters, and moves any masters loading after non-masters so that they load before non-masters. If any masters are moved, it then displays a message in the BOSS Log to notify the user of this change. The BOSS Log does not detail which masters were moved.

Contributions & Help

General discussion, and the submission of questions, suggestions and unrecognised or unclean plugins, takes place in BOSS's official threads for Oblivion, Nehrim, Skyrim, Fallout 3 and Fallout: New Vegas.

User contribution of additions and corrections to the masterlist are vital to the upkeep of BOSS. Let us know what you know.

Lists of unrecognised plugins are welcome but the only way we can include them in the database in a timely way is if we get:

Lists of unclean plugins are also very welcome, but for the report to be most useful we require:

Advanced Usage

This section gives information on how to operate BOSS under certain conditions, how to customise its behaviour more fully than previously covered, and provides details for all the BOSS files.

User Rules

Users can customise how BOSS handles their plugins through the included User Rules feature. This feature allows you to define the positions of plugins not in the masterlist, and to override the masterlist positions of plugins, as well as edit the output messages of plugins, and more. In addition, this is all done without editing the masterlist.txt, so when you update it using the built-in updater, your changes are not lost. All the information on the User Rules feature can be found in the BOSS User Rules ReadMe file that accompanies this ReadMe.

The BOSS.ini

Users can edit all of BOSS's settings in the BOSS.ini. As this is where BOSS gets its settings from when both running the CLI client and when loading the GUI client, care must be taken to edit it correctly to prevent breaking BOSS's operation. If BOSS is run and it cannot find a BOSS.ini, it will generate a new one with default settings. If BOSS is run with both a BOSS.ini present and command line parameters set, the command line parameters override the settings in BOSS.ini. The ini is split into the following sections:

BOSS.GeneralSettings

These settings control miscellaneous areas of BOSS's operation outside of the main sorting functionality.

Ini SettingDefaultValid ValuesDescription
bDoStartupUpdateChecktruetrue, falseControls whether or not BOSS's Automatic Updater checks for new releases when BOSS is run.
bUseUserRulesEditortruetrue, falseControls whether the GUI uses the User Rules Editor window to edit user rules or whether it opens the userlist.txt for manual editing.

BOSS.InternetSettings

These settings control how the masterlist updater and GUI auto-updater connect to the Internet. They are shared by BOSS.exe and BOSS GUI.exe, and can be overriden for the masterlist updater using BOSS's command line parameters. They may also be edited through the GUI. You will probably know if you need to alter them.

Ini SettingDefaultValid ValuesDescription
sProxyHostnameDefault is an empty string.An empty string, hostname (eg. proxy.company.com), IP address (eg. 192.168.32.4)The hostname for the proxy host used, if a proxy is required to connect to the Internet. If no hostname is given, BOSS assumes that no proxy should be used.
iProxyPort0Any valid port number.The port used to connect to the proxy host, if a proxy is required to connect to the Internet. 0 tells BOSS to use no proxy.
sProxyUsernameDefault is an empty string.Any string of characters.The username BOSS uses to connect to the Internet through an authenticated proxy. If no username is given, then BOSS assumes that any proxy used is unauthenticated.
sProxyPasswordDefault is an empty string.Any string of characters.The password BOSS ues to connect to the Internet through an authenticated proxy. If no password is given, then BOSS assumes that any proxy used is unauthenticated.

BOSS.RunOptions

These settings specify BOSS's run options. They allow you to run BOSS with non-default settings without having to use the command line or the GUI.

Ini SettingDefaultValid ValuesDescription
sGameautoauto, Oblivion, Nehrim, Fallout3, FalloutNV, SkyrimIf set to something other than auto, this overrides game autodetection. If the game specified is not detected, BOSS falls back to autodetection, unless bOnlyUpdateMasterlist = true, in which case BOSS will run successfully whether or not the game is installed.
sBOSSLogFormathtmlhtml, textSpecify the format of the BOSS Log generated.
iDebugVerbosity00, 1, 2, 3The verbosity of the debug logging output. As values increase, so does verbosity. 0 displays only warning and error messages.
iRevertLevel00, 1, 2Specify how many runs of BOSS to undo. 0 tells BOSS to run as normal.
bUpdateMasterlisttruefalse, trueRun the masterlist updater.
bOnlyUpdateMasterlistfalsefalse, trueExit BOSS immediately after running the masterlist updater.
bSilentRunfalsefalse, trueDo not open the BOSS Log automatically after BOSS is finished.
bNoVersionParsefalsefalse, trueDo not parse plugin header description fields for their version numbers.
bDebugWithSourceRefsfalsefalse, trueAdd source code references to debug output.
bDisplayCRCsfalsefalse, trueCalculate and display the CRCs of all the plugins in your Data folder, and of OBSE/FOSE/NVSE/SKSE and its installed plugins.
bDoTrialRunfalsefalse, trueRun BOSS and simulate its changes to your load order without actually reordering your plugins.
bLogDebugOutputfalsefalse, trueIf true, debug output is recorded in the BOSSDebugLog.txt file, otherwise it is printed to the command line.

BOSSLog.Filters

These settings control the default states of the BOSS Log filters. If a filter's default is set to be enabled, then it will be enabled and applied when the BOSS Log is opened. These settings are all boolean switches, so true enables them and false disables them. By default all filters are disabled. See the earlier The BOSS Log section for what each filter does.

Ini SettingDescription
bUseDarkColourSchemeControls the state of the Use Dark Colour Scheme filter.
bHideVersionNumbersControls the state of the Hide Version Numbers filter.
bHideGhostedLabelControls the state of the Hide 'Ghosted' Label filter.
bHideActiveLabelControls the state of the Hide 'Active' Label filter.
bHideChecksumsControls the state of the Hide Checksums filter.
bHideInactiveModsControls the state of the Hide Inactive Mods filter.
bHideMessagelessModsControls the state of the Hide Messageless Mods filter.
bHideGhostedModsControls the state of the Hide Ghosted Mods filter.
bHideCleanModsControls the state of the Hide Clean Mods filter.
bHideRuleWarningsControls the state of the Hide Rule Warnings filter.
bHideAllModMessagesControls the state of the Hide All Mod Messages filter.
bHideNotesControls the state of the Hide Notes filter.
bHideBashTagSuggestionsControls the state of the Hide Bash Tag Suggestions filter.
bHideRequirementsControls the state of the Hide Requirements filter.
bHideIncompatibilitiesControls the state of the Hide Incompatibilities filter.
bHideDoNotCleanMessagesControls the state of the Hide 'Do Not Clean' Messages filter.

BOSSLog.Styles

These settings control the BOSS Log's CSS styles, used to provide the formatting for the BOSS Log. A knowledge of CSS is expected if you wish to alter these settings. If you do not possess such knowledge, altering these settings is not recommended.

CSS SelectorDefault Styling
bodyfont-family: Calibri,Arial,sans-serifs;
#darkBodycolor: white; background: black;
.darkLink:linkcolor: #00AAFF;
.darkLink:visitedcolor: #E000E0;
#filtersborder: 1px gray dashed; background: #F5F5F5; padding: 0.3em; display: table;
#filters > lidisplay: inline-block; padding: 0.2em 0.5em; white-space: nowrap; margin: 0; width: 200px;
#darkFiltersborder: 1px gray dashed; background: #333333; padding:.3em; display:table;
body > div:first-childfont-size: 2.4em; font-weight: 700; text-align: center; margin-bottom: 0.2em;
body > div:first-child + divtext-align: center;
h3 + *margin-bottom: 3em;
h3cursor: pointer;
h3 > spandisplay: inline-block; position: relative; top: 0.05em; font-size: 1.3em; width: 0.6em; margin-right: 0.1em;
#endtext-align: center; cursor: default;
tdpadding: 0 0.5em;
ullist-style: none; padding-left: 0;
ul limargin-left: 0; margin-bottom: 1em;
li ulmargin-top: 0.5em; padding-left: 2.5em; margin-bottom: 2em;
input[type='checkbox']position: relative; top: 0.15em; margin-right: 0.5em;
blockquotefont-style: italic;
.errorbackground: red; color: #FFFFFF; display: table; padding: 0 4px;
.warnbackground: orange; color: #FFFFFF; display: table; padding: 0 4px;
.successcolor: green;
.versioncolor: #6394F8; margin-right: 1em; padding: 0 4px;
.ghostedcolor: #888888; margin-right: 1em; padding: 0 4px;
.crccolor: #BC8923; margin-right: 1em; padding: 0 4px;
.activecolor: #009900; margin-right: 1em; padding: 0 4px;
.tagPrefixcolor: #CD5555;
.dirtycolor: #996600;
.messagecolor: gray;
.modmargin-right: 1em;
.tagNone
.noteNone
.reqNone
.incNone

Command Line Arguments

While the BOSS GUI allows you to specify options using its graphical elements, the CLI uses a combination of the BOSS.ini file and command line arguments to do the same. The syntax for these arguments is: boss [-hVuosndctUl] [-g [game]] [-r [level]] [-v [level]] [-f [type]] [-H [hostname]] [-P [port]] -h [ --help ]

This prints a short description of BOSS and some information on the function of the command line arguments, then exits. -V [ --version ]

Prints the a banner displaying the program name and version number to the command line, then exits. -u [ --update ]

Automatically updates the local copy of the masterlist using the latest version on the Google Code repository, and then sorts your plugins. This behaviour is enabled by default, so the command line parameter will have no effect except when the automatic masterlist updating has been disabled in the ini. -U [ --no-update ]

Inhibits the default automatic masterlist updater, preventing it from running. Must not be used alongside --update,-u. -o [ --only-update ]

Automatically updates the local copy of the masterlist using the latest version on the Google Code repository, and then does not sort your plugins. -g [ --game ] [ game ]

Overrides game autodetection. The valid values of the argument are: Oblivion, Nehrim, Fallout3, FalloutNV and Skyrim. If the game specified is not detected, BOSS falls back to autodetection, unless -o is also passed, in which case BOSS will run successfully whether or not the game is installed. -s [ --silent ]

Stops BOSS from automatically opening up the BOSS Log in your web browser (or text editor, depending on format chosen) after it has finished running. -c [ --crc-display ]

Calculates the CRCs of all the plugins in your Data folder, including OBSE/FOSE/NVSE/SKSE plugins, and displays them in your BOSS Log alongside the plugin names. -n [ --no-version-parse ]

Disables the parsing of each plugin's description to extract the author's version information, so it is not printed alongside the other data in the BOSS Log. This can be used if the version parsing is not working properly for some of your plugins and you wish to remove the version notes. -f [ --format ] [ type ]

Allows the selection of the BOSS Log format. Valid argument values are: html and text. html is the default output format. The text value will print the BOSS Log as plain text into a 'BOSSlog.txt' file, similar to the BOSS Log in BOSS v1.5 and below. -t [ --trial-run ]

BOSS runs, but no plugins are redated, so your load order is not changed. The BOSS Log still displays the order BOSS would have placed them in, so it is useful for checking what would happen if you ran BOSS on your load order without having to then undo BOSS's changes. -r [ --revert ] [ level ]

Revert to a previous load order. This parameter optionally accepts values of 1 or 2, indicating how many undo steps to apply. If no option is specified, it defaults to 1. A value of 1 will restore the load order to that stored in modlist.txt. A value of 2 will restore the load order to that stored in modlist.old. If the modlist that you are reverting to does not exist, BOSS will cancel the undo and display an error message. The modlist files are not updated when BOSS is run with this parameter. -v [ --verbose ] [ level ]

Specify the verbosity level (0 to 3) of the debugging output. 0 is the default, showing only warning and error messages. 1 (warning, error and informational messages) is implied if this option is specified without an argument. Higher values increase the verbosity further. -d [ --debug-with-source ]

Adds source file references (filenames and line numbers) to debugging statements. -l [ log-debug ]

Logs the debug output to the BOSSDebugLog.txt file instead of the command line. -H [ --proxy-host ] [ hostname ]

Sets the proxy hostname for the masterlist updater. The hostname may be an actual hostname (eg. proxy.company.com), an IP address (eg. 192.168.32.4) or none. none is the default, and is equivalent to there being no proxy. -P [ --proxy-port ] [ port ]

Sets the proxy port number for the masterlist updater. The port number may be any valid port number. 0 is the default, and is equivalent to there being no proxy.

Updating Under Special Circumstances

The vast majority of users will be able to use BOSS's masterlist updater and the auto-updater with no problems. However, some users' circumstances may be such that the standard method will not work. This section provides instructions for those users.

The most common special circumstance is when the computer the user has BOSS installed on is not connected to the Internet. In this circumstance, the following instructions should be used to obtain masterlist updates:

  1. Copy BOSS GUI.exe from your BOSS folder to the computer with an Internet connection.
  2. Run BOSS GUI.exe and choose the appropriate game when prompted.
  3. Make sure that the GUI is set to the Update Masterlist Only run option.
  4. If you use a proxy to connect to the Internet, also record your proxy settings in the relevant part of the GUI's Settings window.
  5. Select Run BOSS. The masterlist will be downloaded into a subfolder, named after the game you selected, in the same location as your BOSS GUI.exe. Some other BOSS files will also be created, you can safely delete these.

A rarer circumstance is when the user connects to the Internet using a proxy. This is most common in enterprise environments, and such users will generally know if they use a proxy. If you use a proxy to connect to the Internet, you must either record your proxy settings in the relevant part of the GUI's Settings window or manually enter your proxy settings into your BOSS.ini settings file. See the Customising How BOSS Works section above for details on the expected settings.

If your circumstances are such that the computer you have BOSS installed on is not connected to the Internet, or if you use a proxy to connect to the Internet, it is recommended that you avoid using the auto-updater, simply because it is easier in these circumstances to download new releases through your web browser.

There may also be other special cases which cause problems for BOSS's updaters that the BOSS team is unaware of. If you are having issues using the updaters, contact the BOSS team for support.

Running BOSS Under Linux

It is possible to run BOSS on Linux through the Wine compatibility layer, though no official support for doing so is given. Installation and usage is as on Windows. It is also possible to compile BOSS natively for Linux, although there is again no official support for doing so. Native Linux builds are case-sensitive in their recognition of plugins in the masterlist, and while plugins are generally added with the correct case, occasionally a plugin might have the incorrect case which would cause problems for a user with a native Linux build.

BOSS Changes and Files

The only changes BOSS makes to your game install are to re-date the .esp and .esm files in your Data folder, and create a few files in your BOSS folder. Your game's master file (Oblivion.esm, Nehrim.esm, Fallout3.esm, FalloutNV.esm or Skyrim.esm) is never altered, and all dates are derived from it.

Note: Skyrim v1.4.26+ uses a different load order mechanism to earlier games and versions of Skyrim. It uses the order of plugins in its plugins.txt file (found in the user's local application data folder) to determine load order instead of plugin timestamps. As such, when running for Skyrim v1.4.26+, BOSS will not alter any plugin timestamps but will instead alter the order of the contents of your plugins.txt file.

BOSS stores all its files in the BOSS folder. BOSS's files are detailed in the table below (images for this readme are omitted).

FileDescription
BOSS.exeThe CLI for BOSS.
BOSS GUI.exeThe GUI for BOSS.
BOSSlog.htmlThe log generated by BOSS that is displayed when BOSS runs. It is replaced every time you run BOSS. You can view it in any web browser.
BOSSlog.txtThe plain text version of the log, without HTML formatting. It is only created if you specify the plain text format when running BOSS. You can view it in any text editor.
BOSSDebugLog.txtThe log file for BOSS's debugging output. You can view it in any text editor.
masterlist.txtThe list of plugins that BOSS recognises, listing them in order and including the notes that are displayed in the BOSS Log. It is the most frequently updated component of BOSS, receiving updates almost every day.
modlist.txtContains the list of your plugins in the order they were before you last ran BOSS, which can be used to undo changes to your load order.
modlist.oldContains the contents of your modlist.txt before you last ran BOSS, providing a second level of undo for load order changes.
userlist.txtContains your custom rules to be implemented by the User Rules feature.
BOSS.iniStores BOSS's settings, including the default run options, the default BOSS Log filters and more.
BOSS.ini.oldA backup of your previous BOSS.ini, created when you update BOSS via the installer or the GUI's auto-updater.
BOSS ReadMe.htmlThis ReadMe file.
BOSS User Rules ReadMe.htmlThe ReadMe file for BOSS's User Rules functionality.
BOSS Masterlist Syntax.htmlDeveloper documentation detailing the formats and syntaxes used by the masterlists.
BOSS API ReadMe.htmlThe ReadMe file for the BOSS API, for use by third-party developers.
Licenses.txtContains the full text of the GNU General Public License v3.0 and GNU Free Documentation License v1.3 copyright licenses.
loadorder.txtHolds the load order of all active and inactive plugins installed in a game's Data folder. This file is not stored in the BOSS folder. It is instead found in the user's local application data folder, next to plugins.txt. It forms part of a community adaptation to Bethesda's alteration of the load order system in Skyrim v1.4.26+ to allow the continued load ordering of inactive plugins. As it is intended to be shared between modding utilities, it is not removed when BOSS is uninstalled using the uninstaller or when the BOSS folder is deleted.

Troubleshooting

Although BOSS is simple to use, it has grown to become a relatively complex application. As such, there are some circumstances under which BOSS may not be able to run correctly, due to a variety of possible reasons. In such cases, an error message detailing the problem should be provided. If the program unexpectedly crashes, or you experience a problem for which no error message is given, please report the crash or problem to an official BOSS thread (linked to in the Quick Links section below), so that we may fix it.

If the information below does not help you to solve any problems you are experiencing, please seek further support in one of the official BOSS threads.

General Problems

There are a few general reasons why BOSS may fail to function correctly. Check if any of the symptoms listed below fit your issue.

File Permissions

If you are running Windows Vista or Windows 7, BOSS (and other modding programs) may be prevented from working correctly by the UAC security feature. There are four common workarounds to this problem:

  1. Install the game outside the Program Files (or Program Files (x86) if on 64-bit Windows). UAC prevents unauthorised edits to these folders, so by installing the game outside of them, you remove it from UAC's reach, allowing you to use mods more easily.
  2. Deactivate UAC. This can be done from the Control Panel, and will turn UAC off across the whole of your computer. It is up to you whether you feel that you have adequate security measures in place to do this without risk.
  3. Give yourself Full Control permissions over your game install folder. This will allow you to make any edits you desire while keeping UAC active and on guard for any edits made by programs you do not run, and also means that you do not need to reinstall your game to a new location.
  4. Run BOSS as an Administrator. Right-click the BOSS.exe and BOSS GUI.exe, and select Run as administrator.

For those that wish to take the third option and give themselves Full Control permissions, here is a guide:

  1. Right-click the folder you wish to change the permissions for, and select Properties.
  2. In Properties, select the Security tab, and click the Edit... button. A UAC prompt may appear, simply allow yourself to continue.
  3. In the Group or user names box, select the Users option.
  4. In the lower box, check the box opposite Full Control in the Allow column. Press OK to exit. If a UAC prompt appears, allow the change.
  5. In the Properties window, select OK to exit. You should now have Full Control permissions over your chosen folder.

International Character Support

BOSS provides support for sorting plugins containing characters from any language via the Unicode character encoding, specifically UTF-8. All BOSS's files are encoded in UTF-8 by default. However, if you created your userlist.txt before BOSS automatically created one, you will probably need to convert it to the UTF-8 encoding, as it is not Notepad's default encoding. Below are some instructions for converting a file's encoding to UTF-8:

A file only needs to be converted to the correct encoding once, thereafter it will continue to save in the correct encoding whenever you edit it.

Error Messages

If BOSS can detect a specific reason for being unable to function correctly, it will print an error message detailing the problem. BOSS's error messages are listed below, along with details of the issues and possible solutions.

The following error messages may be produced when a user rule with invalid syntax is encountered. To solve, correct the issue the message highlights. All messages detail the specific fault found.

Credits

As BOSS is very much a community project, credit is due to a very large number of sources and people outside of the BOSS Development Team. Credit goes to the following for load order information:

Some people have gone out of their way and provided continuing, expert and detailed help - thank you very much! In addition to the above, the following are credited with additional application-related support:

The BOSS programs are written in C/C++ and make use of the Boost, libcurl, wxWidgets and UTF8-CPP libraries. Without them, the majority of BOSS's features would probably never have been implemented.

Project Members

Since June 2009, BOSS has been a collaborative project on Google Code using the Subversion version control system. In alphabetical order, the project members are:

MemberAdminProgrammerMasterlists Member Contributes To
OblivionNehrimFallout 3Fallout: New VegasSkyrim
AliTheLord ✗✓✓✗✓✗✓
Arthmoor ✓✗✓✗✗✗✓
Gabba (Bethesda Softworks only) ✗✗✓✗✗✗✗
Leandro Conde (Bethesda Softworks only) ✗✓✗✗✗✗✗
Loucifer (Linmor on Nexus) ✗✗✗✗✗✓✗
Malonn ✗✗✗✗✗✓✗
PacificMorrowind ✓✓✓✗✓✗✗
Psymon (Bethesda Softworks only) ✗✗✗✓✗✗✗
Random007 ✓✓✓✗✗✗✗
RiddlingLynx (Nexus only) ✗✗✓✗✗✗✗
Skyline (skyline99 on Nexus) ✗✗✗✗✗✓✗
Space Oden69 (SpaceOden on Nexus) ✗✗✗✗✓✗✗
Televator ✗✗✗✗✓✗✗
Tokc.D.K. (Bethesda Softworks only) ✗✗✓✗✗✗✓
Torrello ✗✗✗✗✓✗✓
Vacuity ✗✗✓✗✗✗✗
Valda ✗✗✗✗✓✓✗
WrinklyNinja ✓✓✓✗✗✗✗
ZiggyX200 ✗✗✓✗✗✗✓

Members with faded rows are currently inactive, with no contributions in the last 3 months. Unless otherwise noted, project members can be contacted on the Bethesda Softworks Forums or on The Nexus Forums via the private messaging system.

License

BOSS is distributed under the GNU General Public License v3.0, aside from the documentation, which is distributed under the GNU Free Documentation License v1.3. The documents covered by the latter license are BOSS ReadMe.html, BOSS User Rules ReadMe.html, BOSS API ReadMe.html and BOSS Masterlist Syntax.html. For the full text of both licenses, see the included Licenses.txt file.

While the GPL license allows anyone to make derivative works of BOSS, the BOSS Development Team encourages those thinking of doing so to first discuss their reasoning for such an endevour with the Team. It may be that what the derivative work would do differently from BOSS itself is already planned for a future version of BOSS or would be happily integrated into BOSS by the Team, thus avoiding any extra effort by others.

The BOSS Team also appeals to the community to avoid the distribution and development of alternative masterlists, as this would only hamper the community effort to create one universally-optimised load order for all plugins available for download. Any issues with a masterlist are best brought to the attention of the BOSS Team so that we may remedy them ourselves.

GNU Free Documentation License Version 1.3 Notice

Copyright (C)  2009-2012  BOSS Development Team
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the file named "Licenses.txt".

Download Locations

Official Threads

Due to a 200 maximum post limit, new official threads are created periodically (with the end of one thread usually providing a link to the next), so the links provided may refer to old threads when you read this. Just navigate through to the latest thread to post a message. You must register for free to post messages.

Other Links

Version History

The changelogs for each release of BOSS are listed below. The masterlists are updated far too frequently for their changes to be concisely recorded here, but a full history of changes to them may be viewed by browsing the Google Code repository.

Version 2.0.1 - 6 April 2012

Version 2.0.0 - 27 March 2012

Version 1.9.1 - 1 January 2012

Version 1.9 - 13 November 2011

Version 1.8 - 6 July 2011

Version 1.7 - 10 June 2011

Version 1.6.5 - 1 December 2010

Version 1.6.4 - 28 November 2010

Version 1.6.3 - 15 November 2010

Version 1.6.2 - 1 November 2010

Version 1.6.1 - 19 October 2010

Version 1.6 - 8 October 2010

Version 1.5 - 24 March 2010

Version 1.4.1 - 31 August 2009

Versions 1.0 - 1.3.5 - 22 October 2008 to 24 June 2009